package com.tvunetworks.center.user.service;

import com.github.pagehelper.PageInfo;
import com.tvunetworks.center.common.model.LoginUser;
import com.tvunetworks.center.user.model.UserFeature;
import com.tvunetworks.center.user.model.param.OwnFeatureUserParam;
import com.tvunetworks.center.user.model.vo.OwnFeatureUserRecordVo;
import com.tvunetworks.center.user.model.vo.OwnFeatureUserVo;

import java.util.List;
/**
 * @program:
 * @description:
 * @author HenryChen
 * @create: 5/29/2019 1:05 PM
 **/
public interface UserFeatureRecordService {

    /**
     * 修改UserFeature时，记录UserFeatureRecord
     * @param userFeature userFeature
     */
    void addUserFeatureRecord(UserFeature userFeature);


    /**
     * 列出拥有feature的用户
     * @param loginUser loginUser
     * @param param param
     * @param pageNum pageNum
     * @param pageSize pageSize
     * @return PageInfo
     */
    PageInfo<OwnFeatureUserVo> pageOwnFeatureUser(LoginUser loginUser, OwnFeatureUserParam param, Integer pageNum, Integer pageSize);

    /**
     * 列出拥有feature的用户
     * @param loginUser loginUser
     * @param param param
     * @return List
     */
    List<OwnFeatureUserVo> listOwnFeatureUser(LoginUser loginUser, OwnFeatureUserParam param);

    /**
     * 列出拥有feature用户 拥有feature的时间段
     * @param param param
     * @return List
     */
    List<OwnFeatureUserRecordVo> getOwnFeatureUserRecord(OwnFeatureUserParam param);



}
